package com.jackstraw.commoncode.utils;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;

/**
 * 所在包：com.example.demo.utils
 * 文件名： 编码工具类
 * 版权：jackstraw.
 * 项目：demo
 * 功能描述：
 * 修改人：稻草人
 * 修改时间：2022-04-02 12:53
 */
public class CodeUtil {

    /**
     * 异常编码时间戳格式
     */
    private static final String ERROR_CODE_TIME_FORMAT = "yyyyMMdd";
    /**
     * 异常编码随机码长度
     */
    private static final Integer ERROR_CODE_RANDOM_LENGTH = 6;

    /**
     * 获取异常编码
     * @return
     */
    public static String getErrorCode() {
        SimpleDateFormat format = new SimpleDateFormat(ERROR_CODE_TIME_FORMAT);
        String timeStamp = format.format(new Date());
        String randomCode = UUID.randomUUID().toString().replaceAll("-", "").toUpperCase().substring(0, ERROR_CODE_RANDOM_LENGTH);
        return timeStamp + "_" + randomCode;
    }

    /**
     * 生成32位数据主键
     * @return
     */
    public static String getEntityId() {
        String id = UUID.randomUUID().toString().toUpperCase();
        return id;
    }
}
